Docker 為什麼需要
為什麼要用 Docker
- 更快速的交付和部署
- 可以讓應用程式開發完成後,能在任意的主機電腦上正常執行
- 更有效率的虛擬化
- 是在作業系統核心層級之上的虛擬化,能更有效地利用運算資源
- 更輕鬆的遷移和擴展
- 幾乎能在任意的平台上執行,這種兼容性可以再多個平台直接遷移
- 更簡單的管理
- 使用指令可中央化管理應用程式的調度、分發與更新,從而實作自動化
Docker 概念
Docker 是一種軟體平台,可讓您快速地建立、測試和部署應用程式。Docker 將軟體封裝到名為容器的標準化單位,其中包含程式庫、系統工具、程式碼和執行時間等執行軟體所需的所有項目。
使用 Docker,您可以將應用程式快速地部署到各種環境並加以擴展,而且知道程式碼可以執行
容器概念
Docker 利用容器來執行應用。容器是從映像檔建立的執行實例。它可以被啟動、開始、停止、刪除。每個容器都是相互隔離的、保證安全的平台。
可以把容器看做是一個簡易版的 Linux 環境( 包括 root 使用者權限、程式空間、使用者空間和網路空間等)和在其中執行的應用程式
Virtual Machine 和 Docker 比較
)
Virtual Machine (VM) | Docker 容器 | |
---|---|---|
啟動 | 作業系統 OS (數 GB 大小) | 映像檔 Image (數 MB 大小) |
啟動時間 | 數分鐘 | 數秒 |
佔用硬碟 | 至少 8GB | 可小至數 MB |
一台主機(伺服器)可建立 | 1 至數十台 VM | 1 至上千個容器 |
不過 Docker 和 VM 可以搭配的拿來使用,像是雲端的主機都經過虛擬化,建立 VM 來區隔環境,確保不同的雲端用戶使用時是互相隔離。最有名的 VM 服務就是 AWS 的 EC2,能確保用戶不會存取到彼此的資料與使用到其他人的資源,像是 CPU 與 Memory。而在 VM 之上還是能建立 Docker container 來幫助管理應用程式i。